package com.lhn.aop;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * @author lhn
 * @date 2024-08-20 17:45
 */
@Component
@Aspect // 表示当前类是一个切面类
public class MyAdvice {

    @Pointcut("execution(void com.lhn.dao.impl.BookDaoImpl.save())")   // 定义一个切入点
    private void pc() {

    }

    @Before("pc()") // 在切入点执行前执行
    public void method() {
        Long startTime = System.currentTimeMillis();
        for (int i = 0; i < 3; i++) {
            System.out.print("AOP...");
        }
        System.out.println();
        Long endTime = System.currentTimeMillis();
        System.out.println("执行消耗时间：" + (endTime - startTime) + "ms");
    }
}
